package org.huangrui.javase.basic;

/**
 * @Author hr
 * @Create 2025-11-06 21:39
 **/
public class T05ArrayDelete {
    public static void main(String[] args) {
        int[] arr = new int[1000];
        for (int i = 0; i < arr.length; i++) {
            arr[i]=i;
        }
        //循环删除 => 约瑟夫斯问题的思想来解决
        int count = arr.length;
        int index = 0;
        while(count>1){
            index = (index+2)%count;//计算删除元素的下标
            /*
            假设arr元素个数count=7，index=2，那么
                arr[3],arr[4],arr[5],arr[6]
                arr[2],arr[3],arr[4],arr[5]
             */
            System.arraycopy(arr,index+1,arr,index,count-index-1);//删除index位置元素
            count--;//元素个数减少
        }
        System.out.println("最后剩下的元素是：" + arr[0]);
    }
}
